﻿using System;

namespace UnityEngine.PostProcessing
{
	// Token: 0x02000105 RID: 261
	[Serializable]
	public class GrainModel : PostProcessingModel
	{
		// Token: 0x170000DF RID: 223
		// (get) Token: 0x060004FC RID: 1276 RVA: 0x00027C51 File Offset: 0x00025E51
		// (set) Token: 0x060004FD RID: 1277 RVA: 0x00027C59 File Offset: 0x00025E59
		public GrainModel.Settings settings
		{
			get
			{
				return this.m_Settings;
			}
			set
			{
				this.m_Settings = value;
			}
		}

		// Token: 0x060004FE RID: 1278 RVA: 0x00027C62 File Offset: 0x00025E62
		public override void Reset()
		{
			this.m_Settings = GrainModel.Settings.defaultSettings;
		}

		// Token: 0x040006FF RID: 1791
		[SerializeField]
		private GrainModel.Settings m_Settings = GrainModel.Settings.defaultSettings;

		// Token: 0x02000106 RID: 262
		[Serializable]
		public struct Settings
		{
			// Token: 0x170000E0 RID: 224
			// (get) Token: 0x060004FF RID: 1279 RVA: 0x00027C70 File Offset: 0x00025E70
			public static GrainModel.Settings defaultSettings
			{
				get
				{
					return new GrainModel.Settings
					{
						colored = true,
						intensity = 0.5f,
						size = 1f,
						luminanceContribution = 0.8f
					};
				}
			}

			// Token: 0x04000700 RID: 1792
			[Tooltip("Enable the use of colored grain.")]
			public bool colored;

			// Token: 0x04000701 RID: 1793
			[Tooltip("Grain strength. Higher means more visible grain.")]
			[Range(0f, 1f)]
			public float intensity;

			// Token: 0x04000702 RID: 1794
			[Tooltip("Grain particle size.")]
			[Range(0.3f, 3f)]
			public float size;

			// Token: 0x04000703 RID: 1795
			[Tooltip("Controls the noisiness response curve based on scene luminance. Lower values mean less noise in dark areas.")]
			[Range(0f, 1f)]
			public float luminanceContribution;
		}
	}
}
